package com.net.core.intercept;


import java.util.ArrayList;
import java.util.List;

public class UrlList {

    //存放所有不需要拦截的接口
    public static List<String> NoLoginList = new ArrayList<>();

    //无需加打印入参出参的路径
    private static List<String> NoPrintLog = new ArrayList<>();

    //无需加解密的路径
    private static List<String> NoSecurity = new ArrayList<>();

    static {
        filterUlr("/doc.html",true,true,true);
        NoLoginList.add("/doc.html");
        NoLoginList.add("/webjars");
        NoLoginList.add("/swagger");
        NoLoginList.add("/druid/");
        NoLoginList.add("/noAuthor/");
        NoLoginList.add("/assets");
        NoLoginList.add("/error");
        NoLoginList.add("/login");
        NoLoginList.add("/getProState");
        NoLoginList.add("/getOaFile");
        NoLoginList.add("/loginAndGotoDoc");
        NoLoginList.add("/api-docs");
        NoLoginList.add("/favicon.ico");
        NoLoginList.add("/docs");
        NoLoginList.add("/admin");

        NoPrintLog.add("/getDocAttachFile");
        NoPrintLog.add("/swagger-resources");
        NoPrintLog.add("/webjars");
        NoPrintLog.add("/netChangePdf");
        NoPrintLog.add("/getProcessData");
        NoPrintLog.add("/files/");
        NoPrintLog.add("/receiveFile");
        NoPrintLog.add(".html");
        NoPrintLog.add("/admin");
        NoPrintLog.add("/static");
        NoPrintLog.add("/jxPdf");
        NoPrintLog.add("/assets");
        NoPrintLog.add("/dist");
        NoPrintLog.add("/docs");
        NoPrintLog.add("/api-docs");
        NoPrintLog.add("/favicon.ico");
        NoPrintLog.add("/upload");
        NoPrintLog.add("/download/");

        NoSecurity.addAll(NoLoginList);
    }


    public static void filterUlr(String url,boolean noPrint,boolean isLogin,boolean noSecurity){

    }

    /**
     * 用不拦截的接口  优先级高
     *
     * @param url
     * @return
     */
    public static boolean ableList(String url) {
        for (String s : NoLoginList) {
            if (url.contains(s)) return true;
        }
        return false;
    }

    public static boolean noPringLog(String url) {
        for (String s : NoPrintLog) {
            if (url.contains(s)) return true;
        }
        return false;
    }

    public static boolean noSecurity(String url) {
        for (String s : NoPrintLog) {
            if (url.contains(s)) return true;
        }
        return false;
    }


}
